/**选出类型不为Function的属性 */
type unFunction<T> = {
    [k in keyof T]?: T[k] extends Function ? never : k;
}[keyof T];

/**可选化属性类型 */
type Optional<T> = {
    [k in unFunction<T>]?: any;
};

/**最先编译的脚本，放入所有需要最先处理的逻辑*/

/**1.将通用装饰器全局化 */
let ccclass = cc._decorator.ccclass;
window["ccclass"] = ccclass;
let property = cc._decorator.property;
window["property"] = property;

let inspector = cc._decorator.inspector("packages://autoproperty/inspector.js");
window["inspector"] = inspector;
